package com.xyht.sca_s.student_manage_system.modules.welcomeNewStudent.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.xyht.sca_s.student_manage_system.common.commonReturn.ResponseResult;
import com.xyht.sca_s.student_manage_system.modules.welcomeNewStudent.entity.SmsWnsChargeOrgItem;
import com.xyht.sca_s.student_manage_system.modules.welcomeNewStudent.entity.req.ChargeItemBatchAddReq;
import com.xyht.sca_s.student_manage_system.modules.welcomeNewStudent.entity.req.ChargeItemBatchExportReq;
import com.xyht.sca_s.student_manage_system.modules.welcomeNewStudent.entity.req.SmsWnsChargeOrgItemReq;

import javax.servlet.http.HttpServletResponse;
import java.util.concurrent.Future;

/**
 * <p>
 * 各专业收费项表 服务类
 * </p>
 *
 * @author XYHT
 * @since 2024-01-15
 */
public interface SmsWnsChargeOrgItemService extends IService<SmsWnsChargeOrgItem> {

    ResponseResult addCategoryItem(SmsWnsChargeOrgItemReq categoryItemReq);

    ResponseResult updateCategoryItem(SmsWnsChargeOrgItemReq categoryItemReq);

    ResponseResult listCategoryItem(Integer pageNum, Integer pageSize, String planId, String searchStr);

    ResponseResult categoryItemDetail(String id);

    Future<ResponseResult> batchExportChargeItem(ChargeItemBatchExportReq chargeItemBatchExportReq, HttpServletResponse response);

    Future<ResponseResult> batchAddChargeItem(ChargeItemBatchAddReq chargeItemBatchAddReq, String userId);

    ResponseResult getStudentPaymentRecordByRangeType(Integer pageNum, Integer pageSize, Integer rangType, String planId, String collegeName, String majorName, String className, Integer paymentType);
}
